﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ClasesLibreria.dao;
using ClasesLibreria.dominio;
using System.Configuration;


public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            cargarGrilla();
        }
    }
    public void cargarGrilla()
    {
        gvUsuarios.AllowSorting = true;
        gvUsuarios.DataSource = DAOUsuarios.queryUsuarios(ConfigurationManager.ConnectionStrings["Libreria"].ConnectionString);
        gvUsuarios.DataBind();


        ddlRol.DataSource = DAORol.queryRol(ConfigurationManager.ConnectionStrings["Libreria"].ConnectionString);
        ddlRol.DataValueField = "IdRol";
        ddlRol.DataTextField = "Nombre";
        ddlRol.DataBind();

        ddlLegajo.DataSource = DAOEmpleado.queryEmpleados(Database.connectionString(), "", "", "");
        ddlLegajo.DataValueField = "Legajo";
        ddlLegajo.DataTextField = "Apellido";
        ddlLegajo.DataBind();

    }
    protected void btnGuardar(object sender, EventArgs e)
    {
        Usuario usu = new Usuario();
        Rol rol = new Rol();

        usu.IdUsuario = int.Parse(txtIdUsuario.Text);
        usu.NombreUsuario = txtNombreUsuario.Text;
        usu.Legajo = int.Parse(ddlLegajo.SelectedValue);

        rol.IdRol = int.Parse(ddlRol.SelectedValue);
        usu.IdRol = rol;
        usu.Contraseña = txtContraseña.Text;

        if (txtIdUsuario.Text == "")
        {
            DAOUsuarios.insertarUsuario(usu, ConfigurationManager.ConnectionStrings["Libreria"].ConnectionString);
        }

        else
        {
            DAOUsuarios.actualizaUsuario(usu, ConfigurationManager.ConnectionStrings["Libreria"].ConnectionString);
        }
        limpiarControles();
        cargarGrilla();
    }
    private void limpiarControles()
    {
        txtNombreUsuario.Text = null;
        ddlLegajo.SelectedIndex = 0;
        txtContraseña.Text = null;
        ddlRol.SelectedIndex = 0;

    }
    protected void cmdNuevo_Click(object sender, EventArgs e)
    {
        limpiarControles();
        txtNombreUsuario.Focus();
    }

    protected void cmdElminar_Click(object sender, EventArgs e)
    {
        if (txtNombreUsuario.Text != String.Empty)
        {
            Usuario usu = new Usuario();
            usu.IdUsuario = int.Parse(txtIdUsuario.Text);

            DAOUsuarios.borrarUsuario(usu, ConfigurationManager.ConnectionStrings["Libreria"].ConnectionString);
            limpiarControles();
            cargarGrilla();
        }
    }
    protected void btnCancelar_Click(object sender, EventArgs e)
    {
        limpiarControles();
    }

    protected void cmdGrabar_Click(object sender, EventArgs e)
    {
        Usuario usu = new Usuario();
        Rol rol = new Rol();

        if (txtIdUsuario.Text != "")
        {
            usu.IdUsuario = int.Parse(txtIdUsuario.Text);
        }
        usu.NombreUsuario = txtNombreUsuario.Text;
        usu.Legajo = int.Parse(ddlLegajo.SelectedValue);

        rol.IdRol = int.Parse(ddlRol.SelectedValue);
        usu.IdRol = rol;
        usu.Contraseña = txtContraseña.Text;

        if (txtIdUsuario.Text == "")
        {
            DAOUsuarios.insertarUsuario(usu, ConfigurationManager.ConnectionStrings["Libreria"].ConnectionString);
        }
        else
        {
            DAOUsuarios.actualizaUsuario(usu, ConfigurationManager.ConnectionStrings["Libreria"].ConnectionString);
        }
        limpiarControles();
        cargarGrilla();
    }
    protected void gvUsuarios_SelectedIndexChanged(object sender, EventArgs e)
    {
        GridViewRow row = gvUsuarios.SelectedRow;

        txtIdUsuario.Text = row.Cells[1].Text;
        txtNombreUsuario.Text = row.Cells[2].Text;
        ddlLegajo.SelectedValue = row.Cells[3].Text;
        txtContraseña.Text = row.Cells[4].Text;
        ddlRol.SelectedValue = row.Cells[5].Text;
        cargarGrilla();
        txtNombreUsuario.Focus();
    }
}